﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using be.brandweernijlen.ademtoestellen.Model;
using be.brandweernijlen.ademtoestellen.dbDatasetTableAdapters;
using System.Data;

namespace be.brandweernijlen.ademtoestellen.Controllers
{
    public class DbController
    {
        public dbDataset.AdemLuchtToestelRow createNewALT(dbDataset dataset, AdemLuchtToestel ademLuchtToestel)
        {
                dbDataset.AdemLuchtToestelRow newDocRow = (dbDataset.AdemLuchtToestelRow)dataset.AdemLuchtToestel.NewRow();

                newDocRow.Datum = ademLuchtToestel.Datum;
                newDocRow.Draagplaat = ademLuchtToestel.Draagplaat;
                newDocRow.Draagriemen = ademLuchtToestel.Draagriemen;
                newDocRow.DrukAdemluchtFles = ademLuchtToestel.DrukAdemluchtfles;
                newDocRow.Flesaansluiting = ademLuchtToestel.Flesaansluiting;
                newDocRow.Fluitsignaal = ademLuchtToestel.Fluitsignaal;
                newDocRow.FluitsignaalBar = ademLuchtToestel.FluitsignaalBar;
                newDocRow.NummerDraagstel = ademLuchtToestel.NummerDraagstel;
                newDocRow.NummerFles = ademLuchtToestel.NummerFles;
                newDocRow.Ontspanner = ademLuchtToestel.Ontspanner;
                newDocRow.Opmerking = ademLuchtToestel.Opmerking;
                newDocRow.Spanband = ademLuchtToestel.SpanbandFles;
                newDocRow.Verantwoordelijke = ademLuchtToestel.Verantwoordelijke;
                newDocRow.Vervangen = ademLuchtToestel.Vervangen;

                dataset.AdemLuchtToestel.Rows.Add(newDocRow);

                return newDocRow;
        }

        public dbDataset.LongAutomaatRow createNewLongAutomaat(dbDataset dataset, LongAutomaat longAutomaat)
        {
            dbDataset.LongAutomaatRow newDocRow = (dbDataset.LongAutomaatRow)dataset.LongAutomaat.NewRow();

            newDocRow.Datum = longAutomaat.Datum;
            newDocRow.Opmerking = longAutomaat.Opmerking;
            newDocRow.Verantwoordelijke = longAutomaat.Verantwoordelijke;
            newDocRow.Vervangen = longAutomaat.Vervangen;

            newDocRow.Nummer = longAutomaat.NummerLongAutomaat;
            newDocRow.VorigNazicht = longAutomaat.VorigNazicht;
            newDocRow.Oring = longAutomaat.ORing;
            newDocRow.Membraan = longAutomaat.Membraan;
            newDocRow.Dichtheid = longAutomaat.Dichtheid;
            newDocRow.Aanspreekdruk = longAutomaat.Aanspreekdruk;
            newDocRow.StatischeOverdruk = longAutomaat.StatischeOverdruk;
            newDocRow.Invetten = longAutomaat.Invetten;

            dataset.LongAutomaat.Rows.Add(newDocRow);

            return newDocRow;
        }

        public dbDataset.MaskerRow createNewMasker(dbDataset dataset, Masker masker)
        {
            dbDataset.MaskerRow newDocRow = (dbDataset.MaskerRow)dataset.Masker.NewRow();

            newDocRow.Datum = masker.Datum;
            newDocRow.Opmerkingen = masker.Opmerking;
            newDocRow.Verantwoordelijke = masker.Verantwoordelijke;
            newDocRow.Vervangen = masker.Vervangen;

            newDocRow.Nummer = masker.NummerMasker;
            newDocRow.VorigNazicht = masker.VorigNazicht;
            newDocRow.Maskerlichaam = masker.Maskerlichaam;
            newDocRow.Ruit = masker.Ruit;
            newDocRow.Kopspin = masker.KopSpin;
            newDocRow.Maskerbeugels = masker.MaskerBeugels;
            newDocRow.Spreekmembraan = masker.Spreekmembraan;
            newDocRow.Uitademventiel = masker.Uitademventiel;
            newDocRow.Veer = masker.VeerAdemventiel;
            newDocRow.Binnenmasker = masker.Uitademventiel;
            newDocRow.Dichtheidstest = masker.Dichtheidstest;
            newDocRow.Openingsdruk = masker.OpeningsDruk;

            dataset.Masker.Rows.Add(newDocRow);

            return newDocRow;
        }

        public List<LongAutomaat> zoekLongAutomaat(TableAdapterManager tableAdapterManager, DateTime van, DateTime tot, string verantwoordelijke, String nummer)
        {
            List<LongAutomaat> resultaat = new List<LongAutomaat>();

            foreach (dbDataset.LongAutomaatRow row in tableAdapterManager.LongAutomaatTableAdapter.Zoek(van, tot, verantwoordelijke, nummer))
            {
                LongAutomaat tempLongAutomaat = new LongAutomaat();

                tempLongAutomaat.Datum = row.Datum;
                tempLongAutomaat.Opmerking = row.Opmerking;
                tempLongAutomaat.Verantwoordelijke = row.Verantwoordelijke;
                tempLongAutomaat.Vervangen = row.Vervangen;

                tempLongAutomaat.NummerLongAutomaat = row.Nummer;
                tempLongAutomaat.VorigNazicht = row.VorigNazicht;
                tempLongAutomaat.ORing = row.Oring;
                tempLongAutomaat.Membraan = row.Membraan;
                tempLongAutomaat.Dichtheid = row.Dichtheid;
                tempLongAutomaat.Aanspreekdruk = row.Aanspreekdruk;
                tempLongAutomaat.StatischeOverdruk = row.StatischeOverdruk;
                tempLongAutomaat.Invetten = row.Invetten;

                resultaat.Add(tempLongAutomaat);
            }

            return resultaat;
        }

        public List<AdemLuchtToestel> zoekAdemLuchtToestel(TableAdapterManager tableAdapterManager, DateTime van, DateTime tot, string verantwoordelijke, String nummerFles, String nummerDraagstel)
        {
            List<AdemLuchtToestel> resultaat = new List<AdemLuchtToestel>();

            foreach (dbDataset.AdemLuchtToestelRow row in tableAdapterManager.AdemLuchtToestelTableAdapter.Zoek(van, tot, verantwoordelijke, nummerFles, nummerDraagstel))
            {
                AdemLuchtToestel tempAdemLuchtToestel = new AdemLuchtToestel();

                tempAdemLuchtToestel.Datum = row.Datum;
                tempAdemLuchtToestel.Draagplaat = row.Draagplaat;
                tempAdemLuchtToestel.Draagriemen = row.Draagriemen;
                tempAdemLuchtToestel.DrukAdemluchtfles = row.DrukAdemluchtFles;
                tempAdemLuchtToestel.Flesaansluiting = row.Flesaansluiting;
                tempAdemLuchtToestel.Fluitsignaal = row.Fluitsignaal;
                tempAdemLuchtToestel.FluitsignaalBar = row.FluitsignaalBar;
                tempAdemLuchtToestel.NummerDraagstel = row.NummerDraagstel;
                tempAdemLuchtToestel.NummerFles = row.NummerFles;
                tempAdemLuchtToestel.Ontspanner = row.Ontspanner;
                tempAdemLuchtToestel.Opmerking = row.Opmerking;
                tempAdemLuchtToestel.SpanbandFles = row.Spanband;
                tempAdemLuchtToestel.Verantwoordelijke = row.Verantwoordelijke;
                tempAdemLuchtToestel.Vervangen = row.Vervangen;

                resultaat.Add(tempAdemLuchtToestel);
            }
            return resultaat;
        }

        public List<Masker> zoekMasker(TableAdapterManager tableAdapterManager, DateTime van, DateTime tot, string verantwoordelijke, String nummer)
        {
            List<Masker> resultaat = new List<Masker>();

            foreach (dbDataset.MaskerRow row in tableAdapterManager.MaskerTableAdapter.Zoek(van, tot, verantwoordelijke, nummer))
            {
                Masker tempMasker = new Masker();

                tempMasker.Datum =  row.Datum;
                tempMasker.Opmerking = row.Opmerkingen ;
                tempMasker.Verantwoordelijke = row.Verantwoordelijke;
                tempMasker.Vervangen = row.Vervangen;

                tempMasker.NummerMasker = row.Nummer;
                tempMasker.VorigNazicht = row.VorigNazicht;
                tempMasker.Maskerlichaam = row.Maskerlichaam;
                tempMasker.Ruit = row.Ruit;
                tempMasker.KopSpin = row.Kopspin;
                tempMasker.MaskerBeugels = row.Maskerbeugels;
                tempMasker.Spreekmembraan = row.Spreekmembraan;
                tempMasker.Uitademventiel = row.Uitademventiel;
                tempMasker.VeerAdemventiel = row.Veer;
                tempMasker.Uitademventiel = row.Binnenmasker;
                tempMasker.Dichtheidstest = row.Dichtheidstest;
                tempMasker.OpeningsDruk = row.Openingsdruk;

                resultaat.Add(tempMasker);
            }

            return resultaat;
        }

    }
}
